股市是經濟的櫥窗,而美國向來扮演全球經濟火車頭的角色。FTSE Global All Cap Index 是一個追蹤全世界股票市場的指數,根據 2022 年 7 月底的持股資料顯示,美國股市佔比高達 60.40%,第二名的日本股市為 6.10%,臺灣股市目前為第十名,佔比為 1.80%。許多美股上市企業都是世界級的公司,海外市場是這些企業重要的收入來源,因此美國股市的表現也反映出全球景氣的榮衰。
臺灣投資人最關注的美國股市指數主要有四個,也是我們經常在財經新聞報導可以看到的四大指數:
另有一個與那斯達克綜合指數非常類似的指數是「那斯達克 100 指數(NASDAQ 100 Index)」,它是由那斯達克綜合指數排除金融股後,取前 100 家市值最大的公司所組成。由於那斯達克 100 指數的成分股已涵蓋那斯達克綜合指數九成的市值,所以指數走勢幾乎一致,且那斯達克 100 指數有對應的期貨商品,即「小那斯達克期貨」也稱為「小那」,而期貨具有價格發現的功能,因此筆者個人更習慣參考那斯達克 100 指數。
由於電子產業在臺灣股市佔了比較高的權重,因此在美股四大指數中,通常以那斯達克指數和費半指數與臺股的連動性最大。如果那斯達克指數和費半指數大漲,隔天臺股開盤就有比較大的機會上漲;如果那斯達克指數和費半指數大跌,隔天臺股開盤下跌的機率就比較高。
在臺股有所謂的 臺灣存託憑證(Taiwan Depositary Receipts),簡稱 TDR,是指該公司已經在國外上市,然後以存託憑證的方式在臺灣證券交易所掛牌上市,供臺灣投資人買賣,所以又稱「第二上市」公司。而 ADR 就是 美國存託憑證 (American Depositary Receipts),已經在臺灣上市的企業,以存託憑證的方式在美國證券交易所掛牌上市。持有 ADR 的權利基本上與一般股票相同,不過 ADR 與原股票有一定的換算比例,其換算方式是:
ADR 股價 / 轉換比例 * 匯率 = 臺股股價
當 ADR 股價換算後高於臺股股價就是 溢價;當 ADR 股價換算後低於臺股股價就是 折價。如果 ADR 與原股價差太大就存在套利空間,所以股價漲跌會有連動性。以下是目前臺灣上市公司在美國市場發行 ADR 的股票:
股票 | 臺股代碼 | 美股代碼 | ADR 轉換比例 |
---|---|---|---|
台積電 | 2330 | TSM | 1:5 |
聯電 | 2303 | UMC | 1:5 |
友達 | 2409 | AUO | 1:10 |
中華電 | 2412 | CHT | 1:10 |
日月光投控 | 3711 | ASX | 1:2 |
南茂 | 8150 | IMOS | 1:20 |
我們會比較關心前一晚台積電 ADR 在美股的表現,因為台積電佔集中市場市值近三成,很容易影響隔天大盤的走勢。當台積電在臺股收盤後發布財報、舉行法說會或有其他重大訊息公告,通常當晚台積電 ADR 的股價都會領先反應,然後就可以推測隔天台積電與臺股開盤的狀況。以 2020 年 7 月 24 日與 7 月 27 日的狀況為例,當時因台積電主要的競爭對手英特爾(Intel)宣布 7 奈米製程晶片將延後至少 6 個月,並可能將委由第三方製造做為應急計畫,此消息一出,台積電 ADR 分別在這兩天強漲了 9.69% 與 12.65%。在 7 月 27 日的臺股,台積電當天就收盤在漲停板,而 7 月 28 日 盤中也曾觸及漲停,而在台積電的帶動下,加權指數最高也突破 12,682 點,打破高懸 30 年的臺股歷史新高紀錄。
許多臺灣投資人都會關注前一晚美國股市的表現,因為臺股和美股有大的連動關係,我們以今年的數據來驗證這個看法是否正確。2022 年初至 8 月 31 日,臺灣股市共有 161 個交易日,其中加權指數上漲天數有 77 天,下跌天數為 84 天,前一晚美股收盤漲跌與當日臺股 收盤 結果關係如下:
指數 | 美股漲臺股漲 | 美股跌臺股跌 | 美股臺股漲跌同方向 | 漲跌同方向機率 |
---|---|---|---|---|
道瓊工業平均指數 | 52 | 63 | 115 | 71.43% |
標準普爾 500 指數 | 51 | 65 | 116 | 72.05% |
那斯達克綜合指數 | 52 | 65 | 117 | 72.67% |
費城半導體指數 | 54 | 62 | 116 | 72.05% |
如果我們將臺股 收盤 的結果改成 開盤 的狀況,則 161 個交易日中,臺灣加權指數開盤上漲天數有 78 天,開盤下跌天數為 83 天,前一晚美股收盤漲跌與當日臺股 開盤 狀況關係如下:
指數 | 美股漲臺股漲(開盤) | 美股跌臺股跌(開盤) | 美股臺股(開盤)漲跌同方向 | 漲跌(開盤)同方向機率 |
---|---|---|---|---|
道瓊工業平均指數 | 55 | 65 | 120 | 74.53% |
標準普爾 500 指數 | 53 | 66 | 119 | 73.91% |
那斯達克綜合指數 | 56 | 68 | 124 | 77.02% |
費城半導體指數 | 58 | 65 | 123 | 76.40% |
我們可以看出前一晚美股收盤與臺股開盤漲跌同方向的機率確實有些許提升。假如我們進一步排除美股漲跌幅 1% 以下的中小型波動,則前一晚美股收盤表現與臺股的連動關係如下:
指數 | 漲跌幅 1% 以上 | 美股臺股漲跌同方向 | 美股臺股(開盤)漲跌同方向 | 漲跌同方向機率 | 漲跌(開盤)同方向機率 |
---|---|---|---|---|---|
道瓊工業平均指數 | 60 | 47 | 52 | 78.33% | 86.67% |
標準普爾 500 指數 | 77 | 62 | 67 | 80.52% | 87.01% |
那斯達克綜合指數 | 107 | 86 | 92 | 80.37% | 85.98% |
費城半導體指數 | 111 | 88 | 95 | 79.28% | 85.59% |
那斯達克綜合指數 與 費城半導體指數 漲跌幅 1% 以上的天數比 道瓊指數 和 S&P 500 指數 還要多,反映出科技與電子股股價波動較大的特性,而當美股四大指數前一晚有 1% 以上的漲跌幅時,臺股開高或開低同方向機率皆達 85% 以上!
以上數據顯示,美股確實與臺股有高度連動性,尤其當前一晚美股收盤大漲或大跌時,特別容易影響臺股隔天開盤的結果;而當美股漲跌幅波動不大時,臺股就比較有機會走自己的路。
許多網站都有提供美股行情的資訊,我們以 Yahoo!股市 為例,進入臺灣版的 Yahoo!股市,在「大盤行情」下選擇「美股」,就可以查詢最新交易日的美股四大指數表現,以下是 2022 年 9 月 9 日查詢的結果:
首先打開終端機安裝 yahoo-finance2
套件,我們將透過存取 Yahoo Finance API 取得美股四大指數報價:
$ npm install --save yahoo-finance2
套件安裝完後,我們新增一個 YahooFinanceService
表示從 Yahoo Finance 取得資料的服務。使用 Nest CLI 建立 YahooFinanceService
:
$ nest g service scraper/yahoo-finance --flat --no-spec
Nest CLI 會在 src/scraper
目錄下建立 yahoo-finance.service.ts
檔案,並且將 YahooFinanceService
加入至 ScraperModule
的 providers
設定。
開啟 src/scraper/yahoo-finance.service.ts
檔案,在 YahooFinanceService
實作 fetchUsStockMarketIndices()
方法,取得美股四大指數報價:
import { default as yahooFinance } from 'yahoo-finance2';
import { DateTime } from 'luxon';
import { Injectable } from '@nestjs/common';
@Injectable()
export class YahooFinanceService {
async fetchUsStockMarketIndices(date: string) {
const dt = DateTime.fromISO(date).endOf('day');
const symbols = ['^DJI', '^GSPC', '^IXIC', '^SOX'];
try {
// 取得 yahoo finance 歷史報價
const results = await Promise.all(symbols.map(symbol => (
yahooFinance.historical(symbol, {
period1: dt.toISODate(),
period2: dt.plus({ day: 1 }).toISODate(),
})
.then(result => result.find(data => DateTime.fromJSDate(data.date).toISODate() === date))
)));
const [
dow30, // 道瓊工業平均指數
sp500, // S&P500 指數
nasdaq, // 那斯達克指數
sox, // 費城半導體指數
] = results;
return { date, dow30, sp500, nasdaq, sox };
} catch (err) {
return null; // 若非交易日或尚無資料則拋出錯誤回傳 null
}
}
}
在 fetchUsStockMarketIndices()
方法中,需要指定 date
參數,表示要取得美股四大指數報價的日期。我們定義回傳的物件欄位包含如下:
date
:日期dow30
:道瓊工業平均指數,包含當日開盤價、最高價、最低價、收盤價等資訊。sp500
:S&P 500 指數,包含當日開盤價、最高價、最低價、收盤價等資訊。nasdaq
:那斯達克綜合指數,包含當日開盤價、最高價、最低價、收盤價等資訊。sox
:費城半導體指數,包含當日開盤價、最高價、最低價、收盤價等資訊。完成後,我們只要使用 YahooFinanceService
的 fetchUsStockMarketIndices()
方法,就可以按日期取得美股四大指數報價。以日期 2022-07-01
為例:
{
date: '2022-07-01',
dow30: {
date: 2022-07-01T00:00:00.000Z,
open: 30737.769531,
high: 31139.349609,
low: 30487.789063,
close: 31097.259766,
adjClose: 31097.259766,
volume: 310440000
},
sp500: {
date: 2022-07-01T00:00:00.000Z,
open: 3781,
high: 3829.820068,
low: 3752.100098,
close: 3825.330078,
adjClose: 3825.330078,
volume: 3268240000
},
nasdaq: {
date: 2022-07-01T00:00:00.000Z,
open: 11006.830078,
high: 11132.549805,
low: 10922.709961,
close: 11127.849609,
adjClose: 11127.849609,
volume: 4844560000
},
sox: {
date: 2022-07-01T00:00:00.000Z,
open: 2512.100098,
high: 2524.030029,
low: 2429.899902,
close: 2458.459961,
adjClose: 2458.459961,
volume: 0
}
}
本系列文已正式出版為《Node.js 量化投資全攻略:從資料收集到自動化交易系統建構實戰》。本書新增了全新內容和實用範例,為你提供更深入的學習體驗!歡迎參考選購,開始你的量化投資之旅!
天瓏網路書店連結:https://www.tenlong.com.tw/products/9786263336070